A cellular communications network typically includes a variety of communication nodes coupled by wireless or wired connections and accessed through different types of communications channels. Each of the communications nodes includes a protocol stack that processes the data transmitted and received over the communications channels. Depending on the type of communications system, the operation and configuration of the various communication nodes can differ and are often referred to by different names. Such communications systems include a Code Division Multiple Access 2000 (CDMA2000) system and Universal Mobile Telecommunications System (UMTS).
Considering UMTS as an example, a typical Universal Mobile Telecommunications System (UMTS), includes a set of collaborating components (i.e., physical machines with memory, processing capacity and networking capabilities) that collectively bridge voice circuits and Internet Protocol (IP) data packets over wired and wireless connections to mobile devices such as a cellular telephone. Generally, the mobile devices in a UMTS are referred to as User Equipment (UE). Two such components in a UMTS include a radio network controller (RNC) and a base station (Node B). In a UMTS Terrestrial Radio Access Network (UTRAN), a core network (CN), is responsible for bridging voice or data (IP) packets to a wired network, such as, a telephony or IP network. A UTRAN is subdivided into individual radio network systems (RNSs), where each RNS is controlled by an RNC. The RNC is connected to a set of Node B elements, each of which can serve one or several cells.
Each component of the UTRAN implements a part of the overall protocol stack required for peer-to-peer communication between a mobile device and the UTRAN. The required protocol stacks include a Packet Data Convergence Protocol (PDCP) that provides header compression for TCP/IP and RTP/UDP/IP packets, a Radio Link Control (RLC) that provides Acknowledged Mode (AM), Unacknowledged Mode (UM) and Transparent Mode (TM) transmissions and a Media Access Control (MAC) that provides channelization and routing. An Iub interface protocol stack between a RNC and a Node B is an example of a conventional protocol stack of a UMTS.
In a conventional UTRAN, the PDCP, RLC and a portion of the MAC layer execute in the RNC. For regular UMTS, the Node B transmits PDCP/RLC/MAC Packet Data Units (PDUs) over wireless circuits. A separate Radio Resource Control (RRC) layer controls each protocol layer and executes in the RNC.
High Speed Downlink Packet Access (HSDPA) is a UMTS Release 5 extension that allows a Node B to make independent transmission decisions based on channel conditions to a mobile device. A similar packet schedule mode for wireless transmissions in a CDMA2000 system is DO or DV of a CDMA2000 protocol stack. A MAC-layer extension that implements a High Speed scheduler for HSDPA (MAC-HS), uses a multi-dimensional vector for scheduling to optimize for bandwidth, frequency efficiency and latency. With HSDPA, the RNC has limited control on the order in which the Node B schedules the mobile device.
Additional problems associated with dividing the functionality over the RNC and Node B include requiring multiple (pipelined) staging buffers in the system causing a high end-to-end latency and transmission of packets by the RLC and RRC layer that contain information that may become stale or are superseded by a newer version of the state. For instance, RLC-AM PDUs may contain an acknowledgment state for a peer and RRC messages may contain information for the mobile device to alter the state of the mobile device. A packet or data unit containing the acknowledgment state for the peer and the RRC messages can be referred to as ‘timely-data.’
Timely-data is defined as data used for, or incorporated into, data transmissions over a communications system and has a value associated with a best performance of the communications system that decreases with time. Thus, if a message containing timely-data is delayed, the information contained in the message may become obsolete and the usefulness of the message, when received, will become less. An example of timely-data is data pertaining to which packets were received (and, by implication, which packets were not received) by a protocol entity. When such packet-received data is delayed while new packets arrive, the correctness of the packet-received data, and thus its usefulness, will diminish.
When timely-data is queued inside the Node B on a bearer, as can happen if the RNC has overestimated the outflow rate from the Node B for regular circuits, or when the Node B simply does not consider a mobile for transmission in HSDPA mode, a newer version of the timely-data may be queued behind the original transmission. This phenomenon wastes bandwidth, or worse older packets may contain instructions for the mobile device that may already have been retracted by a newer version of the timely-data message. A provision in HSDPA enables packets to be removed from the transmission queue after their lifetime has expired. Unfortunately, this provision breaks RLC-AM since the RLC protocol assumes every packet sent by an RLC-AM layer is received by the peer RLC-AM layer.
Another problem associated with dividing the functionality of the protocol stack over the RNC and Node B includes losing a data packet in the system. In case there is a data packet loss in the system (i.e., when the mobile suffers from a fade in HSDPA), compression engines in the PDCP layer may need to be reset. Since there is no interface provision between the Node B and the RNC to indicate packet loss at the MAC-HS layer, resynchronization by the PDCP sender is performed after receiving an indication for resynchronization from the PDCP receiver. This can result in a considerable time-lag between the packet drop and resynchronization. While the sender is not resynchronized, all data packets that are in flight cannot be successfully decoded resulting in wasting of wireless bandwidth.
Furthermore, when an RLC Acknowledged Mode (RLC-AM) is used, data packet loss at the HSDPA layer needs to be detected at the RLC-AM receiver so that the RLC-AM transmitter can retransmit the lost packet. Typically, a RLC-AM receiver detects the data packet loss by receiving a subsequent data packet if one exists or by timing out on a periodic timer. The receiver then sends a status message to the RLC-AM transmitter, informing the transmitter of the lost packets. This scheme introduces a delay between the time of packet loss and the retransmission of the packet in RLC-AM. The delay is usually a round trip time but can be at most the value of the periodic timer (if the lost packet is the last in a sequence).
Accordingly, what is needed is a system or method for improving the communication of data in a communications system for mobile devices. More specifically, what is needed in the art is an improved system and method for transmitting data packets to mobile devices.